/* JVxeTable 行编辑 权限 */
import { usePermissionStoreWithOut } from '/@/store/modules/permission';
const permissionStore = usePermissionStoreWithOut();
/**
 * JVxe 专用，获取权限
 * @param prefix
 */
export function getJVxeAuths(prefix) {
    prefix = getPrefix(prefix);
    let { authList, allAuthList } = permissionStore;
    let authsMap = new Map();
    if (!prefix || prefix.length == 0) {
        return authsMap;
    }
    // 将所有vxe用到的权限取出来
    for (let auth of allAuthList) {
        if (auth.status == '1' && (auth.action || '').startsWith(prefix)) {
            authsMap.set(auth.action, { ...auth, isAuth: false });
        }
    }
    // 设置是否已授权
    for (let auth of authList) {
        let getAuth = authsMap.get(auth.action);
        if (getAuth != null) {
            getAuth.isAuth = true;
        }
    }
    //update-begin-author:taoyan date:2022-6-1 for:  VUEN-1162 子表按钮没控制
    let onlineButtonAuths = permissionStore.getOnlineSubTableAuth(prefix);
    if (onlineButtonAuths && onlineButtonAuths.length > 0) {
        for (let auth of onlineButtonAuths) {
            authsMap.set(prefix + 'btn:' + auth, { action: auth, type: 1, status: 1, isAuth: false });
        }
    }
    //update-end-author:taoyan date:2022-6-1 for:  VUEN-1162 子表按钮没控制
    return authsMap;
}
/**
 * 获取前缀
 * @param prefix
 */
export function getPrefix(prefix) {
    if (prefix && !prefix.endsWith(':')) {
        return prefix + ':';
    }
    return prefix;
}
